1. Field of the Invention
This invention relates to coordinate input device and method for generating data based on coordinate positions specified by an operator.
2. Related Background Art
There are known in the art digitizers which are used as sampling devices. One such device permits handwriting input by the operator using an input appliance such as a stylus pen. The device of this type provides handwriting computing applications, differently from that using a keyboard, by displaying an input trace to a host computer based on coordinate data from the coordinate input device, or by recognizing strings of input coordinate points as a character.
The coordinate input device referred to herein is configured to transmit, to the host computer, an X-Y coordinate pair indicative of a position of the stylus pen, the X-Y coordinate system using a certain point in the input area of the device as the origin, every predetermined time or when a change in the input point becomes large, i.e., when it exceeded a predetermined amount, or in response to a command from the host computer.
On receipt of the coordinates, the host computer displays a string of input points by connecting them by a straight line or interpolating curve such as a spline curve or Bezier curve. This provides the operator with a feeling as if he or she wrote the curve with a pen on paper.
Although some conventional devices may output information indicative of pen pressure, information output from typical coordinate input devices generally only contain coordinates indicative of the input position. In such conventional devices, only the coordinate points to be passed are shown and theoretically the passing direction at each point is present inexhaustibly. Since the coordinate information is usually given in the form of a string of points, the host apparatus connects the input coordinate points by a straight line or interpolating curve to display the input trace.
When connecting two points in the string of input points by a straight line, the processing to display the trace is facilitated, but in many cases the trace does not correspond to an actual input trace. It is therefore desirable to increase sampling points so that the difference between the displayed trace and the actual input trace can be reduced in such a manner. Increase of the sampling points causes an increased work load on the host apparatus as well as an increase in storage capacity of a memory, resulting in inefficient operation.
Alternatively, curve interpolation may be used so as not to increase the storage capacity. One common curve interpolation uses a three-dimensional spline curve.
In the curve interpolation using the three-dimensional spline curve, where the coordinates given at a sampling rate of 100 points/sec. are Pk and Pk+1 respectively, each distance between two coordinate points is made approximate and each approximate curve is computed by calculating the vector. Since the calculation of the vector involves matrix calculation, the processing will take a very long time. This also causes an increased work load on the host apparatus, resulting in inefficient operation as well as reduction in real-time operativity.
In consideration of the above problems, an object of the present invention is to provide a coordinate input device and method capable of interpolating sampling data more faithful to input data with less input data and simper computing.
Another object of the present invention is to provide coordinate input device and method capable of obtaining a trace more faithful to an input trace with less coordinate information and simpler computing.
Still another object of the present invention is to provide coordinate input device and method capable of adding information indicative of a direction of an input trace at each coordinate point of sampling data.
The conventional coordinate input device and the host apparatus have been configured to exchange information therebetween such that the coordinate input device transmits, to the host apparatus, all kinds of information mainly containing coordinate information given at a predetermined, constant sampling rate, while the host apparatus uses the transmitted coordinate information for execution of all kinds of processing such as curve interpolation, information transmission, enlarged/reduced display, information storage and graph/character recognition.
In such an exchange configuration, however, since the coordinate information transmitted from the coordinate input device to the host apparatus is specified on an input surface of the coordinate input device and continuously sent at each predetermined, constant rate, e.g., at a rate of 100 points/sec., its quantity or quality may be unsuitable for some information processing.
For example, in the coordinate input device as configured such above, although the use of a pen appliance for input of handwritten trace information is a common operation, the use of the coordinate information from the coordinate input device to carry out a normal enlarged display processing onto a large-scale display screen consisting of small pixels may produce a trace of the coordinate strings connected by polygonal lines, as shown in FIG. 19, different from the original input curves, even if a user input a Japanese character "/{character pullout}", pronounced "a", with smooth curves using the pen appliance as shown in FIG. 18.
The host apparatus may execute a curve interpolation processing based on the coordinate information to overcome the above problem. In this case, apparently displayed characters can be reproduced on the display screen, but other problems arise that processing time for the curve interpolation takes much longer and real-time operativity until displayed after input is impaired.
Further, if it is desired to store or transmit the coordinate information from the coordinate input device, a compression technique and communication protocol may be used together depending on final storage. In this case, the host apparatus is required to temporarily store all the coordinate information from the coordinate input device without fail, therefore, still another problem arises that a trace required for a long input time involves an increasing quantity of information. Likewise, this problem occurs when the host apparatus transfers information to an external device.
Furthermore, the use of all the coordinate information to execute character or graph recognition in the same manner as aforementioned may be extremely wasteful in a case requiring high-speed operation at the beginning of the recognition processing step such as stroke matching or matching between initial and terminal points. It is therefore desirable to normalize the information size or thin out the coordinate information. In contrast, the coordinate information is too small to execute a final recognition processing step at which further detailed recognition should be done such as similar-character discrimination. Thus, yet another problem arises that the coordinate information is either insufficient or wasteful for each individual step in one processing.
The present invention is also solves the above problems by using a coordinate input device capable of outputting coordinate information from the input coordinate input device to a host apparatus with less information content but as effective coordinate information.
The conventional input device such as a digitizer is mainly used to input, to the host apparatus, coordinate data corresponding to each coordinate position specified on a coordinate input surface. The host apparatus converts the coordinate data to each arithmetic expression representative of a curve so that a graph or graphic character can be plotted or created. The created graphic data is then stored or displayed. In other words, the coordinate input device outputs the coordinate data to a CPU of the host apparatus at a fixed time interval, while the CPU converts the coordinate data into a curve using a Bezier curve technique or B-spline function for displaying or storing the curve.
In such a case, since the coordinate data is transmitted from the coordinate input device to the host apparatus at a fixed time interval, a delay is produced in the coordinate data read-in process when the processing steps at the host apparatus are complicated. It is therefore required that the host apparatus sequentially inputs and stores the coordinate data to display the coordinate data input at a fixed time interval by connecting them with a straight line and to display a curve by converting the coordinate data using the Bezier curve technique or the like.
Such a double display configuration, however, may provide a sense of incongruity to the operator due to a difference between two displayed traces. Further, the host apparatus can not read all the coordinate data input at a short time interval while displaying the curve unless the processing speed of the CPU in the host apparatus is extremely high. For this reason, some of coordinate data may be missing within the traced curve when the coordinate data are sequentially input at a high speed and at a short time interval. In this case, although the time interval at which the coordinate data are sequentially input may be extended to avoid the missing coordinate data, this causes a failure in tracing a curve faithful to the graph or character originally drawn or written by the operator.
The present invention is also made in view of the above further problems and yet another object thereof to provide coordinate input device and method capable of generating data for curve approximation based on coordinates specified by an operator.